package com.t.bricks.bussiness.db.entity.filecabinet.base;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.t.bricks.annotation.DataInfo;

/**
 * 文件存储信息'FileCabinet'表实体类
 * 警告:非数据库字段禁止在此添加,应该创建扩展实体中添加
 */
@ApiModel("文件存储信息FileCabinet")
public class FileCabinetBase implements Serializable {

	private static final long serialVersionUID = -1L;// 使用rmi时需修改

	/**
	 * 记录编号
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sId", sComment="记录编号", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=true, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=32, iDecimalLength=0, iIndex=0 )
	@ApiModelProperty(value="记录编号", example="")
	//[end]
	protected String sId;

	/**
	 * 文件存储位置(包含文件名)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sPath", sComment="文件存储位置(包含文件名)", isDbField=true, sDbFileType="nvarchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=300, isDecimal=false, iIntegralLength=600, iDecimalLength=0, iIndex=1 )
	@ApiModelProperty(value="文件存储位置(包含文件名)", example="")
	//[end]
	protected String sPath;

	/**
	 * 文件名
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sName", sComment="文件名", isDbField=true, sDbFileType="nvarchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=50, isDecimal=false, iIntegralLength=100, iDecimalLength=0, iIndex=2 )
	@ApiModelProperty(value="文件名", example="")
	//[end]
	protected String sName;

	/**
	 * 项目名
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sProgram", sComment="项目名", isDbField=true, sDbFileType="nvarchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=50, isDecimal=false, iIntegralLength=100, iDecimalLength=0, iIndex=3 )
	@ApiModelProperty(value="项目名", example="")
	//[end]
	protected String sProgram;

	/**
	 * 文档归属(若要进行分级则以|分割)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sBelong", sComment="文档归属(若要进行分级则以|分割)", isDbField=true, sDbFileType="nvarchar",
		sDefaultData="未分属", isExtra=false, iskey=false, isNull=false,
		iMaxLength=300, isDecimal=false, iIntegralLength=600, iDecimalLength=0, iIndex=4 )
	@ApiModelProperty(value="文档归属(若要进行分级则以|分割)", example="未分属")
	//[end]
	protected String sBelong;

	/**
	 * 文件类型
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sType", sComment="文件类型", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=10, isDecimal=false, iIntegralLength=10, iDecimalLength=0, iIndex=5 )
	@ApiModelProperty(value="文件类型", example="")
	//[end]
	protected String sType;

	/**
	 * 文件MD5
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sFileMd5", sComment="文件MD5", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=false,
		iMaxLength=32, isDecimal=false, iIntegralLength=32, iDecimalLength=0, iIndex=6 )
	@ApiModelProperty(value="文件MD5", example="")
	//[end]
	protected String sFileMd5;

	/**
	 * 文件大小(字节)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="iFileSize", sComment="文件大小(字节)", isDbField=true, sDbFileType="bigint",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=8, isDecimal=false, iIntegralLength=8, iDecimalLength=0, iIndex=7 )
	@ApiModelProperty(value="文件大小(字节)", example="")
	//[end]
	protected Long iFileSize;

	/**
	 * 是否共享(布尔值,1:是;2:否)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="iShare", sComment="是否共享(布尔值,1:是;2:否)", isDbField=true, sDbFileType="int",
		sDefaultData="0", isExtra=false, iskey=false, isNull=false,
		iMaxLength=8, isDecimal=false, iIntegralLength=4, iDecimalLength=0, iIndex=8 )
	@ApiModelProperty(value="是否共享(布尔值,1:是;2:否)", example="0")
	//[end]
	protected Integer iShare;

	/**
	 * 分享密钥(注意:只要设置了该值,则不管是否iShare=1都可以查看)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sShareKey", sComment="分享密钥(注意:只要设置了该值,则不管是否iShare=1都可以查看)", isDbField=true, sDbFileType="varchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=5, isDecimal=false, iIntegralLength=5, iDecimalLength=0, iIndex=9 )
	@ApiModelProperty(value="分享密钥(注意:只要设置了该值,则不管是否iShare=1都可以查看)", example="")
	//[end]
	protected String sShareKey;

	/**
	 * 到期时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="dOverdue", sComment="到期时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="9999-12-31 23:59:59", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=true, iIntegralLength=-1, iDecimalLength=-1, iIndex=10 )
	@ApiModelProperty(value="到期时间", example="9999-12-31 23:59:59")
	//[end]
	protected Date dOverdue;

	/**
	 * 访问次数
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="iCount", sComment="访问次数", isDbField=true, sDbFileType="int",
		sDefaultData="0", isExtra=false, iskey=false, isNull=false,
		iMaxLength=8, isDecimal=false, iIntegralLength=4, iDecimalLength=0, iIndex=11 )
	@ApiModelProperty(value="访问次数", example="0")
	//[end]
	protected Integer iCount;

	/**
	 * 关联信息
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sRelInfo", sComment="关联信息", isDbField=true, sDbFileType="nvarchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=500, isDecimal=false, iIntegralLength=1000, iDecimalLength=0, iIndex=12 )
	@ApiModelProperty(value="关联信息", example="")
	//[end]
	protected String sRelInfo;

	/**
	 * 备注
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sMemo", sComment="备注", isDbField=true, sDbFileType="nvarchar",
		sDefaultData="", isExtra=false, iskey=false, isNull=true,
		iMaxLength=200, isDecimal=false, iIntegralLength=400, iDecimalLength=0, iIndex=13 )
	@ApiModelProperty(value="备注", example="")
	//[end]
	protected String sMemo;

	/**
	 * 创建者(只有创建者和管理员能删除和修改)
	 */
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="sCreator", sComment="创建者(只有创建者和管理员能删除和修改)", isDbField=true, sDbFileType="varchar",
		sDefaultData="00000000", isExtra=false, iskey=false, isNull=false,
		iMaxLength=8, isDecimal=false, iIntegralLength=8, iDecimalLength=0, iIndex=14 )
	@ApiModelProperty(value="创建者(只有创建者和管理员能删除和修改)", example="00000000")
	//[end]
	protected String sCreator;

	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//解决表单提交时字符串时间值错误
	//[start]
	@DataInfo( sDbName="BricksCommonBusiness", sTableName="FileCabinet", sName="dCreateDate", sComment="创建时间", isDbField=true, sDbFileType="datetime",
		sDefaultData="getdate", isExtra=false, iskey=false, isNull=false,
		iMaxLength=23, isDecimal=true, iIntegralLength=-1, iDecimalLength=-1, iIndex=15 )
	@ApiModelProperty(value="创建时间", example="getdate")
	//[end]
	protected Date dCreateDate;

	/**
	 * 取 记录编号
	 * @return String
	 */
	public String getsId() {
		return sId;
	}

	/**
	 * 设置记录编号
	 * @param sId
	 */
	public void setsId(String sId) {
		this.sId = sId;
	}

	/**
	 * 取 文件存储位置(包含文件名)
	 * @return String
	 */
	public String getsPath() {
		return sPath;
	}

	/**
	 * 设置文件存储位置(包含文件名)
	 * @param sPath
	 */
	public void setsPath(String sPath) {
		this.sPath = sPath;
	}

	/**
	 * 取 文件名
	 * @return String
	 */
	public String getsName() {
		return sName;
	}

	/**
	 * 设置文件名
	 * @param sName
	 */
	public void setsName(String sName) {
		this.sName = sName;
	}

	/**
	 * 取 项目名
	 * @return String
	 */
	public String getsProgram() {
		return sProgram;
	}

	/**
	 * 设置项目名
	 * @param sProgram
	 */
	public void setsProgram(String sProgram) {
		this.sProgram = sProgram;
	}

	/**
	 * 取 文档归属(若要进行分级则以|分割)
	 * @return String
	 */
	public String getsBelong() {
		return sBelong;
	}

	/**
	 * 设置文档归属(若要进行分级则以|分割)
	 * @param sBelong
	 */
	public void setsBelong(String sBelong) {
		this.sBelong = sBelong;
	}

	/**
	 * 取 文件类型
	 * @return String
	 */
	public String getsType() {
		return sType;
	}

	/**
	 * 设置文件类型
	 * @param sType
	 */
	public void setsType(String sType) {
		this.sType = sType;
	}

	/**
	 * 取 文件MD5
	 * @return String
	 */
	public String getsFileMd5() {
		return sFileMd5;
	}

	/**
	 * 设置文件MD5
	 * @param sFileMd5
	 */
	public void setsFileMd5(String sFileMd5) {
		this.sFileMd5 = sFileMd5;
	}

	/**
	 * 取 文件大小(字节)
	 * @return Long
	 */
	public Long getiFileSize() {
		return iFileSize;
	}

	/**
	 * 设置 文件大小(字节)
	 * @param iFileSize
	 */
	public void setiFileSize(Long iFileSize) {
		this.iFileSize = iFileSize;
	}

	/**
	 * 取 是否共享(布尔值,1:是;2:否)
	 * @return Integer
	 */
	public Integer getiShare() {
		return iShare;
	}

	/**
	 * 设置是否共享(布尔值,1:是;2:否)
	 * @param iShare
	 */
	public void setiShare(Integer iShare) {
		this.iShare = iShare;
	}

	/**
	 * 取 分享密钥(注意:只要设置了该值,则不管是否iShare=1都可以查看)
	 * @return String
	 */
	public String getsShareKey() {
		return sShareKey;
	}

	/**
	 * 设置分享密钥(注意:只要设置了该值,则不管是否iShare=1都可以查看)
	 * @param sShareKey
	 */
	public void setsShareKey(String sShareKey) {
		this.sShareKey = sShareKey;
	}

	/**
	 * 取 到期时间
	 * @return Date
	 */
	public Date getdOverdue() {
		return dOverdue;
	}

	/**
	 * 设置到期时间
	 * @param dOverdue
	 */
	public void setdOverdue(Date dOverdue) {
		this.dOverdue = dOverdue;
	}

	/**
	 * 取 访问次数
	 * @return Integer
	 */
	public Integer getiCount() {
		return iCount;
	}

	/**
	 * 设置访问次数
	 * @param iCount
	 */
	public void setiCount(Integer iCount) {
		this.iCount = iCount;
	}

	/**
	 * 取 关联信息
	 * @return String
	 */
	public String getsRelInfo() {
		return sRelInfo;
	}

	/**
	 * 设置关联信息
	 * @param sRelInfo
	 */
	public void setsRelInfo(String sRelInfo) {
		this.sRelInfo = sRelInfo;
	}

	/**
	 * 取 备注
	 * @return String
	 */
	public String getsMemo() {
		return sMemo;
	}

	/**
	 * 设置备注
	 * @param sMemo
	 */
	public void setsMemo(String sMemo) {
		this.sMemo = sMemo;
	}

	/**
	 * 取 创建者(只有创建者和管理员能删除和修改)
	 * @return String
	 */
	public String getsCreator() {
		return sCreator;
	}

	/**
	 * 设置创建者(只有创建者和管理员能删除和修改)
	 * @param sCreator
	 */
	public void setsCreator(String sCreator) {
		this.sCreator = sCreator;
	}

	/**
	 * 取 创建时间
	 * @return Date
	 */
	public Date getdCreateDate() {
		return dCreateDate;
	}

	/**
	 * 设置创建时间
	 * @param dCreateDate
	 */
	public void setdCreateDate(Date dCreateDate) {
		this.dCreateDate = dCreateDate;
	}

}
